// ../gui/gui_types.h


// was ../ut/ut_geo.h
/// events
#define TYP_EventEnter      300  ///< event enter
#define TYP_EventLeave      301  ///< event leave
#define TYP_EventPress      302  ///< event press (key)
#define TYP_EventRelease    303  ///< event release (key)
#define TYP_EventMove       304  ///< event move (mouse)
#define TYP_EventDraw       305  ///< event draw
#define TYP_EventConfig     306  ///< event config 
#define TYP_EventUnmap      307  ///< event unmap (widget disappears)
#define TYP_EventExit       309  ///< event exit (widget destroyed)

// ../ut/ut_geo.h
/// devices
#define TYP_DeviceKeyb      310  ///< device keyboard
#define TYP_DeviceMouse     311  ///< device mouse
#define TYP_DeviceScreen0   312  ///< device screen
#define TYP_DeviceButton    313  ///< device screen

/// widgets
#define TYP_GUI_Unknown     320
#define TYP_GUI_Win         321
#define TYP_GUI_BoxH        322
#define TYP_GUI_BoxV        323
#define TYP_GUI_Label       324
#define TYP_GUI_Button      325
#define TYP_GUI_Entry       326
#define TYP_GUI_Slider      327
#define TYP_GUI_MenuShell   328
#define TYP_GUI_MenuItem    329
#define TYP_GUI_OptMen      330      /// option-menu
#define TYP_GUI_MsgWin      331      /// message-window
#define TYP_GUI_List        332      /// selection-list; 1 or 2 columns
#define TYP_GUI_Frame       333      /// 
#define TYP_GUI_Toolbar     334      /// 
#define TYP_GUI_Notebook    335      /// 
#define TeP_GUI_Tree        336
#define TYP_GUI_BoxGL       337


/// get data of callback
#define GUI_DATA_EVENT      *(int*)data[0]
#define GUI_DATA_I1         *(int*)data[1]
#define GUI_DATA_D1         *(double*)data[1]
#define GUI_DATA_S1         (char*)data[1]
#define GUI_DATA_I2         *(int*)data[2]
#define GUI_DATA_S2         (char*)data[2]
#define GUI_DATA_I3         *(int*)data[3]
#define GUI_DATA_S3         (char*)data[3]
#define GUI_DATA_I4         *(int*)data[4]
#define GUI_DATA_S4         (char*)data[4]
#define GUI_DATA_I5         *(int*)data[5]


//----------------------------------------------------------------
// DO NOT USE: use TYP_Event*
#define UI_FuncInit       90
#define UI_FuncInit1     191
#define UI_FuncInit2     192
#define UI_FuncInit3     193
#define UI_FuncClear     194
#define UI_FuncGet        91
#define UI_FuncSet        92
#define UI_FuncDisable    93
#define UI_FuncEnable     94
#define UI_FuncFocus      95
#define UI_FuncPrev       96
#define UI_FuncNext       97
#define UI_FuncWork       98
#define UI_FuncKill       99
#define UI_FuncOK        100
#define UI_FuncCancel    101
#define UI_FuncExit      102
#define UI_FuncHelp      103
#define UI_FuncNO        104

#define UI_FuncInsert    110
#define UI_FuncModify    111   
#define UI_FuncDelete    112
#define UI_FuncUndo      113
     
#define UI_FuncUCB      1000         // Usercallbacks; 1000-1999
#define UI_FuncUCB1     1001
#define UI_FuncUCB2     1002
#define UI_FuncUCB3     1003
#define UI_FuncUCB4     1004
#define UI_FuncUCB5     1005
#define UI_FuncUCB6     1006
#define UI_FuncUCB7     1007
#define UI_FuncUCB8     1008
#define UI_FuncUCB9     1009
#define UI_FuncUCB10    1010
#define UI_FuncUCB11    1011
#define UI_FuncUCB12    1012
#define UI_FuncUCB13    1013
    

// EOF
